package org.scub.foundation.fournisseur.egicom.core.model;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;


import org.scub.foundation.framework.core.model.BaseModel;

/**
 * Entité persistante modélisant les catégories utilisées dans notre systéme.
 * @author Equipe E-GICOM
 */
@Entity
@Table(name = "categorie")
public class Categorie extends BaseModel {

    private static final long serialVersionUID = 1648642991406224637L;

    @Column(name = "libele_categorie", nullable = false)
    private String libeleCategorie;

    @OneToMany(fetch = FetchType.EAGER)
    @JoinColumn(name = "id_categorie", referencedColumnName = "ID")
    private List<Produit> produits;

    @Override
    public boolean equals(Object other) {
        if (other == null || !(other instanceof Categorie)) {
            return false;
        }
        return equalsUtil(other);
    }

    @Override
    public int hashCode() {
        return super.hashCode();
    }

    /**
     * Get the value of prix.
     * @return the prix
     */
    public String getLibeleCategorie() {
        return libeleCategorie;
    }

    /**
     * Set the value of libeleCategorie.
     * @param libeleCategorie the libeleCategorie to set
     */
    public void setLibeleCategorie(String libeleCategorie) {
        this.libeleCategorie = libeleCategorie;
    }

    /**
     * Get the value of prix.
     * @return the prix
     */
    public List<Produit> getProduits() {
        return produits;
    }

    /**
     * Set the value of produits.
     * @param produits the produits to set
     */
    public void setProduits(List<Produit> produits) {
        this.produits = produits;
    }

}
